package com.sc.nft.entity.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sc.nft.dto.IdRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 刘国航
 * @desc
 * @since 2024/10/28 14:21
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class TradingPoolUpdateConfRpcDTO extends IdRequest {

    @ApiModelProperty("交易池名称")
    @NotBlank(message = "交易池名称不能为空")
    private String name;

    @ApiModelProperty(value = "开始时间")
    @NotNull(message = "开始时间不能为空")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @NotNull(message = "结束时间不能为空")
    @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
    private Date endTime;

    @ApiModelProperty("最大涨幅百分比")
    @NotNull(message = "最大涨幅百分比不能为空")
    private BigDecimal maxIncreasePercentage;

    @ApiModelProperty("最大跌幅百分比")
    @NotNull(message = "最大跌幅百分比不能为空")
    private BigDecimal maxDecreasePercentage;

    @ApiModelProperty("最大价格")
    @NotNull(message = "最大价格不能为空")
    private BigDecimal maxPrice;

    @ApiModelProperty("最小价格")
    @NotNull(message = "最小价格不能为空")
    private BigDecimal minPrice;

    @ApiModelProperty("活动规则")
    @NotNull(message = "活动规则不能为空")
    private String activityRule;

}
